 Imports System.Windows.Forms
 Public Class PHIEUTHUdto
 Inherits AbstractDto 
 #Region "Các Thuộc Tính" 
 Private _IDPHIEUTHU as System.Int32
 Private _MAPHIEUTHU as System.Int32
 Private _IDHOCSINH as System.Int32
 Private _IDLOPHOC as System.Int32
 Private _NGAYBATDAU as System.DateTime
 Private _TONGTIENPHAIDONG as System.Int32
 Private _TRANGTHAI as System.Int32
 Private _GHICHU as System.String
 #End Region 
 #Region "Khai báo các phương thức truy xuất" 
 Public Property IDPHIEUTHU() as System.Int32
 Get
 Return _IDPHIEUTHU
 End Get
 Set(ByVal value As System.Int32)
 _IDPHIEUTHU=Value
 End Set
 End Property
 Public Property MAPHIEUTHU() as System.Int32
 Get
 Return _MAPHIEUTHU
 End Get
 Set(ByVal value As System.Int32)
 _MAPHIEUTHU=Value
 End Set
 End Property
 Public Property IDHOCSINH() as System.Int32
 Get
 Return _IDHOCSINH
 End Get
 Set(ByVal value As System.Int32)
 _IDHOCSINH=Value
 End Set
 End Property
 Public Property IDLOPHOC() as System.Int32
 Get
 Return _IDLOPHOC
 End Get
 Set(ByVal value As System.Int32)
 _IDLOPHOC=Value
 End Set
 End Property
 Public Property NGAYBATDAU() as System.DateTime
 Get
 Return _NGAYBATDAU
 End Get
 Set(ByVal value As System.DateTime)
 _NGAYBATDAU=Value
 End Set
 End Property
 Public Property TONGTIENPHAIDONG() as System.Int32
 Get
 Return _TONGTIENPHAIDONG
 End Get
 Set(ByVal value As System.Int32)
 _TONGTIENPHAIDONG=Value
 End Set
 End Property
 Public Property TRANGTHAI() as System.Int32
 Get
 Return _TRANGTHAI
 End Get
 Set(ByVal value As System.Int32)
 _TRANGTHAI=Value
 End Set
 End Property
 Public Property GHICHU() as System.String
 Get
 Return _GHICHU
 End Get
 Set(ByVal value As System.String)
 _GHICHU=Value
 End Set
 End Property
 #End Region 
 Public Sub New()
IDPHIEUTHU = 0
MAPHIEUTHU = 0
IDHOCSINH = 0
IDLOPHOC = 0
NGAYBATDAU = #1/1/1900#
TONGTIENPHAIDONG = 0
TRANGTHAI = 0
GHICHU = "
 End Sub
 public Function HoTro(ByVal tencolumn As String) As String
 Select Case Ucase(Convert.ToString(tencolumn))
 Case Ucase("IDPHIEUTHU")
 if IsDBNull(IDPHIEUTHU)=true then 
 return "0"
 end if
 Return Convert.ToString(IDPHIEUTHU)
 Case Ucase("MAPHIEUTHU")
 if IsDBNull(MAPHIEUTHU)=true then 
 return "0"
 end if
 Return Convert.ToString(MAPHIEUTHU)
 Case Ucase("IDHOCSINH")
 if IsDBNull(IDHOCSINH)=true then 
 return "0"
 end if
 Return Convert.ToString(IDHOCSINH)
 Case Ucase("IDLOPHOC")
 if IsDBNull(IDLOPHOC)=true then 
 return "0"
 end if
 Return Convert.ToString(IDLOPHOC)
 Case Ucase("NGAYBATDAU")
 if IsDBNull(NGAYBATDAU)=true then 
 return "#1/1/1900#"
 end if
 Return Convert.ToString(NGAYBATDAU)
 Case Ucase("TONGTIENPHAIDONG")
 if IsDBNull(TONGTIENPHAIDONG)=true then 
 return "0"
 end if
 Return Convert.ToString(TONGTIENPHAIDONG)
 Case Ucase("TRANGTHAI")
 if IsDBNull(TRANGTHAI)=true then 
 return "0"
 end if
 Return Convert.ToString(TRANGTHAI)
 Case Ucase("GHICHU")
 if IsDBNull(GHICHU)=true then 
 return """
 end if
 Return Convert.ToString(GHICHU)
 Case Else
 Return ""
 End Select
 End Function
 public function HoTro(ByVal tencolumn As String,Byval value as string,Optional ByVal TT As String = "sua") as string 
 Select Case Ucase(Convert.ToString(tencolumn))
 Case UCase("IDPHIEUTHU")
 If TT = "sua" Then
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
IDPHIEUTHU=CInt(value)
End if
 Case UCase("MAPHIEUTHU")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
MAPHIEUTHU=CInt(value)
 Case UCase("IDHOCSINH")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
IDHOCSINH=CInt(value)
 Case UCase("IDLOPHOC")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
IDLOPHOC=CInt(value)
 Case UCase("NGAYBATDAU")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsDate(value) = False Then
 return "Không phải ngày đề nghị nhập lại"
end if
NGAYBATDAU=Convert.ToDateTime(value)
 Case UCase("TONGTIENPHAIDONG")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
TONGTIENPHAIDONG=CInt(value)
 Case UCase("TRANGTHAI")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If IsNumeric(value) = False Then
 return "Không phải số đề nghị nhập lại"
end if
TRANGTHAI=CInt(value)
 Case UCase("GHICHU")
 If IsDBNull(value) = true Then
 return "Bạn chưa nhập dữ liệu"
 End if
 If value = ""  Then
 return "Bạn chưa nhập dữ liệu"
 End if
GHICHU=Convert.ToString(value)
 Case Else
 return ""
 End Select
 return ""
 End function
 Public Sub GANgiatri(ByVal Group As Control, Optional ByVal TAG As String = "")
 Dim ValControl As New Control
 For Each ValControl In Group.Controls
 If ValControl.Visible And ValControl.Enabled Then
 If (TAG = "" Or ValControl.Tag = TAG) Then
 Dim str As String = Me.HoTro(UCase(Mid(ValControl.Name, 4)))
 If str <> "" Then
 If TypeOf (ValControl) Is TextBox Or TypeOf (ValControl) Is Label Then
 ValControl.Text = Str
 ElseIf TypeOf (ValControl) Is NumericUpDown Then
 Dim NUD As NumericUpDown = ValControl
 NUD.Value = Str
 ElseIf TypeOf (ValControl) Is DateTimePicker Then
 Dim DTP As DateTimePicker = ValControl
 DTP.Value = Str
 ElseIf TypeOf (ValControl) Is ComboBox Then
 Dim cbo As ComboBox = ValControl
 cbo.SelectedValue = Str
 ElseIf TypeOf (ValControl) Is PictureBox Then
 Dim pic As PictureBox = ValControl
 pic.ImageLocation = Str
 End If
 End If
 End If
 If ValControl.Controls.Count > 0 Then GANgiatri(ValControl, TAG)
 End If
 Next
 End Sub
 Public Sub NHANgiatri(ByVal Group As Control, ByVal ErrorProvider1 As ErrorProvider, Optional ByVal TAG As String = "")
 Dim ValControl As New Control
 Dim loi As String = ""
 For Each ValControl In Group.Controls
 If ValControl.Visible And ValControl.Enabled Then
 If (TAG = "" Or ValControl.Tag = TAG) Then
 If TypeOf (ValControl) Is TextBox Or TypeOf (ValControl) Is Label Then
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), ValControl.Text)
 ElseIf TypeOf (ValControl) Is ComboBox Then
 Dim cbo As ComboBox = ValControl
 loi = Me.HoTro(UCase(Mid(cbo.Name, 4)), cbo.SelectedValue)
 ElseIf TypeOf (ValControl) Is NumericUpDown Then
 Dim NUD As NumericUpDown = ValControl
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), NUD.Value)
 ElseIf TypeOf (ValControl) Is DateTimePicker Then
 Dim dtp As DateTimePicker = ValControl
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), dtp.Value)
 ElseIf TypeOf (ValControl) Is PictureBox Then
 Dim pic As PictureBox = ValControl
 loi = Me.HoTro(UCase(Mid(ValControl.Name, 4)), pic.ImageLocation)
 End If
 If loi <> "" Then
 ValControl.Focus()
 End If
 ErrorProvider1.SetError(ValControl, loi)
 End If
 If ValControl.Controls.Count > 0 Then
 NHANgiatri(ValControl, ErrorProvider1, TAG)
 End If
 End If
 Next
 End Sub
 End class

